package com.quwan.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.quwan.entity.TPublishOrder;import org.apache.ibatis.annotations.Param;import java.math.BigDecimal;import java.util.List;import java.util.Map;

/**
 * @author Hayson
 * @since 2021/7/5 23:44
 */
public interface TPublishOrderMapper extends BaseMapper<TPublishOrder> {
    Page<Map<String, Object>> getPublishOrderBaseInfoWithDistance(Page<TPublishOrder> page,
                                                                   @Param("lat") BigDecimal lat,
                                                                   @Param("lng") BigDecimal lng,
                                                                   @Param("categoryId") String categoryId,
                                                                   @Param("type")  String type,
                                                                  @Param("autoWhere")  String autoWhere,
                                                                  @Param("priceDesc")  String priceDesc,
                                                                  @Param("age")  Integer age,
                                                                  @Param("cityName")  String cityName,
                                                                  @Param("cityCode")  String cityCode,
                                                                  @Param("gender")  String gender,
                                                                  @Param("parentCate")  String parentCate,
                                                                  @Param("keyword")  String keyword
    );

    Map<String,Object> selectPublishOrderBaseInfo(String publishOrderId);

    Page<Map<String,Object>> getFollowPublishOrderBaseInfo(Page<Object> page,@Param("mId") String mId);

    Integer selectMemberSellCount(String mId);

    Page<Map<String,String>> managerSelectMemberPublishOrderList(Page<Object> objectPage,
                                                                 @Param("publishOrderMember")  String publishOrderMember,
                                                                 @Param("categoryId")  String categoryId,
                                                                 @Param("status")  String status,
                                                                 @Param("orderBy") Integer orderBy,
                                                                 @Param("audit") String audit,
                                                                 @Param("mId") String mId,
                                                                 @Param("content") String content,
                                                                 @Param("id") String id);


    TPublishOrder selectCategoryIdByOrderId(String tradeNo);

    Integer selectNotProcessOrderCount(Long mId);
}